Unity之VideoPlayer组件 |
您所在的位置:网站首页 › video loop 不循环播放 › Unity之VideoPlayer组件 |
首先说下我想实现的效果,有一些视频,每一组都由2段视频组成:前一段播放一次(入场),然后接循环播放后一段(循环) 看代码: private string tmpVideoLoop; private void PlayVideo(string videoLoop, string videoStart = null) { GetVP().loopPointReached -= PlayVideoLoop; if (GetVP().isPlaying) GetVP().Stop(); if (videoStart == null) { GetVP().url = videoLoop; GetVP().isLooping = true; GetVP().Play(); } else { this.tmpVideoLoop = videoLoop; GetVP().url = videoStart; GetVP().isLooping = false; GetVP().loopPointReached += PlayVideoLoop; } } private void PlayVideoLoop(VideoPlayer vp) { Debug.Log(vp.url); vp.loopPointReached -= PlayVideoLoop; GetVP().url = tmpVideoLoop; GetVP().isLooping = true; GetVP().Play(); }1. GetVP() 方式是获取 VideoPlayer组件的一个封装方法, 2. PlayVideo(string videoLoop, string videoStart = null),通过URL的方式播放视频,传入两个视频的URL路径 videoLoop——用于循环的视频 videoStart——播放一次的视频 先略过 GetVP().loopPointReached -= PlayVideoLoop,首先如果当前VideoPlayer组件正在播放,那就先停止下,然后切换新的视频组,如果有传入videoStart,则先播放videoStart,并且注册上事件loopPointReached,当播完时开始播放videoLoop 再说说为什么要先加上一个注销事件GetVP().loopPointReached -= PlayVideoLoop,主动停止VideoPlayer的播放GetVP().Stop()也是会触发loopPointReached事件的,这也是一个坑,需要特别注意
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |